---
title: 用户输入
---

## 简介

用户输入节点是一种开始节点，可用于定义在终端用户运行应用时需要向其收集的信息。

以用户输入为起点的应用采用 *按需运行* 的方式，通过用户的直接交互或 API 调用启动。你也可以将此类应用发布为独立的 Web 应用或 MCP 服务器，通过后端服务 API 对外暴露，或作为工具在其他 Dify 应用中使用。

<Info>
    每个应用画布只能包含一个用户输入节点。
</Info>

## 输入变量

### 预设

预设输入变量由系统定义并默认可用。

- `userinput.files`：终端用户在运行应用时上传的文件。

    <Note>
        对于 Workflow 应用，此预设变量已被视为*遗留功能*，仅为向后兼容而保留。

        我们推荐使用自定义的 [文件输入字段](#文件输入) 来收集用户文件。
    </Note>

- `userinput.query`（仅适用于 Chatflow）：从最新一轮对话中自动捕获的用户文本消息。

### 自定义

你可以在用户输入节点中配置自定义输入字段，以收集终端用户的信息。每个字段都会成为一个下游节点可引用的变量。例如，若添加了一个变量名为 `user_name` 的输入字段，即可在整个 Workflow 中以 `{{user_name}}` 的形式引用它。

用户输入字段共有七种类型，可分别用于处理不同形式的输入信息。

<Info>
    **显示名称** 将会展示给终端用户。 
</Info>

<Tip>
    在 Chatflow 应用中，可 **隐藏** 任意输入变量，使其对终端用户不可见，但仍可在 Chatflow 内部被引用。
</Tip>

#### 文本输入

<Tabs>

    <Tab title="文本">
    文本字段最多可输入 256 个字符，适用于姓名、电子邮件地址、标题或任何适合单行输入的简短文本。
    </Tab>

    <Tab title="段落">
    段落字段允许输入多行文本，无长度限制，适用于详细的回复或描述。
    </Tab>
</Tabs>

#### 结构化输入

<Tabs>

    <Tab title="下拉选项">
    下拉选项字段以下拉菜单的形式显示预定义选项。用户只能从列表中进行选择，从而确保数据一致性并防止无效输入。

    </Tab>

    <Tab title="数字">
    数字字段仅允许输入数值，适用于数量、评分、ID 或任何需要数学处理的数据。
    </Tab>

    <Tab title="复选框">
    复选框字段提供一个简单的「是/否」选项，勾选时输出 `true`，未勾选时输出 `false`，适用于确认或任何需要二元选择的场景。
    </Tab>
</Tabs>

#### 文件输入

<Tabs>
    <Tab title="单文件">
    单文件字段允许用户从其设备或通过文件 URL 上传单个文件，上传的文件将成为一个包含文件元数据（名称、大小、类型等）的变量。
    </Tab>

    <Tab title="文件列表">
    文件列表字段与单文件类似，但支持一次上传多个文件，适用于批量处理文档、图片等文件的场景。
    <Tip>
        可使用 [列表操作节点](/zh-hans/guides/workflow/node/list-operator) 对上传的文件列表进行筛选、排序或提取特定文件，以便进一步处理。
    </Tip>
    </Tab>
</Tabs>

**文件处理**

通过用户输入节点上传的文件必须由后续节点进行适当处理。用户输入节点只负责收集文件，无法直接读取或解析文件内容。

因此，需要通过特定节点来提取和处理文件内容。例如：

- 文档文件可传递给文档提取器节点进行文本提取，以便 LLM 能够理解其内容。

- 图片可发送到具备视觉能力的 LLM 节点或专门的图像处理工具节点。

- 结构化数据文件（如 CSV 或 JSON）可使用代码节点进行解析和转换。

<Tip>
    当用户上传多个混合类型的文件（如图片和文档）时，可使用列表操作节点按文件类型对其进行分离，再分别路由到合适的处理分支。
</Tip>

## 下一步

设置好用户输入节点后，可将其连接到其他节点以处理收集到的数据。常见的场景包括：

- 将输入发送到 LLM 节点进行处理。
- 使用知识检索节点根据输入查找相关信息。
- 根据输入，使用条件分支节点将执行路径路由到不同的分支。

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[编辑此页面](https://github.com/langgenius/dify-docs/edit/main/zh-hans/guides/workflow/node/user-input.mdx) | [提交问题](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

